/**
 * Copyright (c)  FESCOTech Team
 * All rights reserved.
 *
 * This file DatabaseContextHolder.java creation date: [2018年11月15日 上午8:25:15] by 姓名
 * http://www.fescoetc.com.cn
 */

package com.hdsxtech.smsoot_timer.common.datasource;

/** 
 * <descption>保存一个线程安全的DatabaseContextHolder</descption> 
 * @author maen
 * @version 1.0.0
 */

public class DatabaseContextHolder {

	// 线程局部变量
	private static final ThreadLocal<DatabaseType> contextHolder = new ThreadLocal<DatabaseType>();

	// 往线程里边set 数据类型
	public static void setDatabaseType(DatabaseType type){
		if(type ==null) throw new NullPointerException();
		contextHolder.set(type);
	}
	
	// 从容器中获取数据类型
	public static DatabaseType getDatabaseType(){
		return contextHolder.get() ==null ?DatabaseType.MASTER:contextHolder.get();
	}
	
	// 清空容器中的数据类型
	public static void clear(){
		contextHolder.remove();
	}
}
